昨天稍微嘗試了一下 ModelContext 以及將資料存進 SwiftData 中,但是主畫面依然沒有顯示任何東西,那是因為沒有從 SwiftData 中撈資料出來,今天就來 Fetch Data 吧。
而 SwiftData 中撈取資料的方式也很簡單,只需要靠 @Query 這個 Macro 就好,甚至他還能設定你撈的資料的排序方式等。
就像這樣,SwiftData 中的資料就會按照 Expense 裡的 Date 去做排序,然後丟進這個 Array 裡。
@Query(sort: \Expense.date) var expenses: [Expense]
那這裡也讓大家看看 @Query 展開後的樣子,雖然沒有 @Model 展開後那麼多,但我也不是很想看到這些東西就是了。
@Query(sort: \Expense.date) var expenses: [Expense]
private (set) var _expenses: SwiftData.Query<[Expense].Element, [Expense]> = .init(sort: \Expense.date)
{
get {
_expenses.wrappedValue
}
}
那這邊用好之後可以看到之前儲存的資料顯示在主畫面上了,現在關於資料已經介紹完 Save 和 Fetch 了,剩下的 Delete 和 Update 就之後繼續介紹吧。